Міністерство освіти та науки України
Національний університет “Львівська Політехніка”
Кафедра ІСМ
ЗВІТ ПРО ВИКОНАННЯ РОЗРАХУНКОВОЇ РОБОТИ
з курсу “Технології проектування програмних систем”
на тему: «Технологія аспектно-орієнтованого проектування»
Національний університет “Львівська Політехніка”
Кафедра ІСМ
Дисципліна “ Технології проектування програмних систем ”
Курс IV Група КН-419 Семестр 7
Завдання на розрахункову роботу студента Рудого Я. М.
Тема роботи: “Технологія аспектно-орієнтованого проектування”
Завдання:
Виконати огляд літератури та джерел Internet за заданою темою.
Якщо не задано, то вибрати необхідні інструментальні та бібліотечні засоби для проектування.
Розробити та реалізувати контрольний приклад.
Оформити звіт по виконаній роботі.
Дата видачі: 16.11.2006
Підпис студента:
Підпис викладача:
Зміст
Вступ 4
1. Роботи в області аспектно-орієнтованого програмування 5
2. Існуючі підходи до розробки програмних систем 6
2. 1. Еволюція методологій розробки ПЗ 6
2. 2. Система як набір функціональних вимог 6
2. 3. Наскрізна функціональність в системі 8
3. Введення в АОП 11
3. 1. Основні концепції АОП 11
3. 2. Переваги використання АОП 14
3. 3. Недоліки аспектного підходу 16
3. 4. ASPECTJ як одна з реалізацій АОП 18
3. 5. Інші реалізації АОП 22
Висновки 22
Список літератури 23
Вступ
Об'єктно-орієнтоване програмування (ООП) було представлене як технологія, що сприяє процесу проектування ПО, оскільки об'єктна модель краще вписується в реальну наочну область і може бути представленна наочно. Але виявлено безліч проблем в реалізації систем, де ООП не достатньо для чіткої фіксації важливих архітектурних рішень програми. Існують деякі проблеми, для яких не підходять ні об'єктноорієнтовані (ООП) ні процедурноорієнтовані мови програмування (ПІП).
Аспектно-орієнтоване програмування (АОП) дозволяє чітко виразити код, залучений в аспект, включаючи відповідну ізоляцію, композицію, і повторне використання. Не дивлячись на те, що АОП і є новою ідеєю, існують інші системи, що мають схожі властивості.
Аспектно-орієнтоване програмування (АОП) є однією з концепцій програмування, яка є подальшим розвитком процедурного і об'єктно-орієнтованого програмування (ООП). Дана методологія покликана понизити час, вартість і складність розробки сучасного ПО, в якому, як прищепило, можна виділити певні частини, або аспекти, що відповідають за ту або іншу функціональність, реалізація якої розосереджена за кодом програми, але складається з схожих шматків коду. По оцінках фахівців, близько 70% часу в проектах витрачається на супровід і внесення змін в готовий програмний код. Тому достатньо важливою в найближчій перспективі стає роль АОП і подібних трансформаційних підходів. Порівняно нова технологія вже набула досить широкого поширення показавши свою ефективність на тестових застосуваннях, проте місце цього підходу в індустрії ПО по ряду об'єктивних причин все ще не визначено.
Істотна межа програмної системи — рівень складності: один розробник практично не в змозі охопити всі деталі системи, причому складність властива більшості сучасних програмних систем. Дана складність неминуча: з нею можна справитися, але позбавитися від неї не можна. Складність програмних систем обумовлена чотирма основними причинами: складністю реальної наочної області, з якої виходить замовлення на розробку; трудністю управління процесом розробки; необхідністю забезпечити достатню гнучкість програми; незадовільними способами опису поведінки великих дискретних систем.
Об'єктом дослідження даної роботи є аспектно-орієнтований підхід при розробці програмних систем. АОП пропонує мовні засоби, що дозволяють виділяти крізну функціональність в окремі модулі, і таким чином спрощувати роботу (відладку, модифікацію, документування і т.д.) з компонентами програмної системи, і знижувати складність системи в цілому. Тут і далі під "модулем" розуміється деяка чітко виражена структурна одиниця програми — процедура, функція, метод, клас або пакет. Програмний...